package cn.suxiaoxiang.mmskillbar;

import cn.suxiaoxiang.mmskillbar.Commands.commands;
import cn.suxiaoxiang.mmskillbar.events.totalEvent;
import cn.suxiaoxiang.mmskillbar.utils.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * @author DELL
 */
public final class MMskillBar extends JavaPlugin {
     public static MMskillBar main;

    @Override
    public void onEnable() {
        //禁止删除
        //-----------------------
        int pluginId = 24669;
        Metrics metrics = new Metrics(this, pluginId);
        //-----------------------
        // 插件启动时，输出更霸气的语句
        Bukkit.getServer().getConsoleSender().sendMessage("§d[MMskillBar] §7插件已成功启动，虚无的力量已觉醒！");
        //保存配置文件
        saveDefaultConfig();
        main = this;

        // 读取并输出 banner.txt 文件中的内容  佛祖保佑,永无Bug
        String banner = readBanner();
        if (banner != null) {
            Bukkit.getServer().getConsoleSender().sendMessage(banner);
        }
        // 输出佛祖保佑的文字
        Bukkit.getServer().getConsoleSender().sendMessage("§d[MMskillBar] §7佛祖保佑，无BUG，稳定如佛法！");
        // 注册指令
        // 添加指令
        getCommand("mms").setExecutor(new commands());
        getCommand("reload").setExecutor(new commands());

        // 注册事件
        getServer().getPluginManager().registerEvents(new totalEvent(), this);
        // 重新加载配置文件
        reloadConfig();

    }

    @Override
    public void onDisable() {
        // 插件关闭时，输出更霸气的语句
        Bukkit.getServer().getConsoleSender().sendMessage("§d[MMskillBar] §7感谢佛祖庇佑，插件无BUG，完美运行！");
        Bukkit.getServer().getConsoleSender().sendMessage("§d[MMskillBar] §7待命，重启时再度见证奇迹！");
    }
    /**
     * 读取 resources 目录下的 banner.txt 文件内容
     *
     * @return 文件内容字符串
     */
    private String readBanner() {
        StringBuilder banner = new StringBuilder();
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("banner.txt");
             BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
            String line;
            while ((line = reader.readLine()) != null) {
                banner.append(line).append("\n");
            }
        } catch (IOException e) {
            getLogger().severe("无法读取 banner.txt 文件: " + e.getMessage());
            return null;
        }
        return banner.toString();
    }
}
